import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { RouterModule } from '@angular/router'
import { FormsModule, ReactiveFormsModule } from '@angular/forms'
import { CommonModule } from '@angular/common'
import { MdlModule } from '@angular-mdl/core';
import { TableModule } from 'primeng/table';
import { DynamicDialogModule } from 'primeng/dynamicdialog';
import {
  TreeModule, BreadcrumbModule, ToolbarModule, InputTextModule, DialogModule,
  InputTextareaModule, PanelModule, ButtonModule, AutoCompleteModule, CalendarModule,
  CarouselModule, TabViewModule, PanelMenuModule, SharedModule,
  ConfirmDialogModule, ConfirmationService, DropdownModule, DragDropModule, TooltipModule,
  CheckboxModule, InputSwitchModule, ToggleButtonModule
} from 'primeng/primeng';
import { QkSharedModule } from '../common/module/qkshare.module';
import { freeflowRoutes } from './freeflow.routes';
import { FreeflowComponent } from './freeflow.component';
import { FfBaseComponent } from './base/ffbase.component';
import { FfProcComponent } from './proc/ffproc.component';
import { FfDefinitionComponent } from './definition/ffdefinition.component';
import { FfActComponent } from './act/ffact.component';
import { FfPartComponent } from './part/ffpart.component';
import { FfTransetComponent } from './transet/fftranset.component'
import { FfActAttrComponent } from './act/ffact-attr.component';
import { FfActFilterComponent } from './act/ffact-filter.component';
import { FfActEventComponent } from './act/ffact-event.component';
import { FfTransetAttrComponent } from './transet/fftranset-attr.component';
import { FfAddBizProcComponent } from './bizproc/ff-addbizproc.component';
import { FreeflowShareModule } from './freeflowshare.module';
import { FreeflowService } from './freeflow.service';

@NgModule({
  imports: [
    FormsModule,
    ReactiveFormsModule,
    CommonModule,
    MdlModule,
    TreeModule,
    BreadcrumbModule,
    ToolbarModule,
    PanelModule,
    ButtonModule,
    AutoCompleteModule,
    InputTextModule,
    InputTextareaModule,
    TabViewModule,
    CarouselModule,
    PanelMenuModule,
    SharedModule,
    ConfirmDialogModule,
    DialogModule,
    CalendarModule,
    DropdownModule,
    ToggleButtonModule,
    DragDropModule,
    TooltipModule,
    CheckboxModule,
    InputSwitchModule,
    QkSharedModule,
    TableModule,
    DynamicDialogModule,
    FreeflowShareModule,
    RouterModule.forChild(freeflowRoutes)
  ],
  declarations: [
    // FreeflowComponent,
    // FfBaseComponent,
    // FfProcComponent,
    // FfDefinitionComponent,
    // FfActComponent,
    // FfPartComponent,
    // FfTransetComponent,
    // FfActAttrComponent,
    // FfActEventComponent,
    // FfActFilterComponent,
    // FfTransetAttrComponent,
    // FfAddBizProcComponent
  ],
  entryComponents: [
    // FfActAttrComponent,
    // FfActEventComponent,
    // FfActFilterComponent,
    // FfTransetAttrComponent,
    // FfAddBizProcComponent
  ],
  exports: [
  ],
  providers: [
    ConfirmationService,
    FreeflowService
  ]
})
export class FreeflowModule { }
